package com.knife.common.tree.annotations;


import com.knife.common.tree.constant.KnifeRootType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 当前记录用来找父记录的id字段
 *
 * @author： 76875
 * @date： 2022/6/6 星期一 17:34
 * @description：
 * @modifiedBy：
 * @version: 1.0
 */
@Target(value = {ElementType.FIELD})
@Retention(value = RetentionPolicy.RUNTIME)
public @interface KnifeTreeParentId {
    /**
     * 符合根记录的条件，有以下几种可以用来作为根节点：
     * - null 本字段为null作为根节点
     * - equal 等于被{@link KnifeTreeId}标记值的记录作为根节点
     *
     * @return 根节点类型
     */
    KnifeRootType rootType();
}
